<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>转换对象或数组为字符串</title>
</head>
<body>
  JSON对象的stringify方法用于将一个JavaScript值（对象或者数组）转换为一个JSON字符串
  <script>
    // JavaScript Object Notation对象
    var json = {
      "a" : 10,
      "-7" : "siblings",
      "3c" : -1.65,
      "9" : false,
      "r" : 'e'
    };
    // 将对象中字符串类型的值转换为null，对于非字符串类型的值进行原封不动地转换
    var obj = JSON.stringify(json, function (key, value) {
      if (typeof (json[key]) === "string") {
        return null;
      } else {
        return value;
      }
    });
    var arr = document.getElementsByTagName("body");
    print(obj);
    // 只转换对象中非字符串类型的值
    obj = JSON.stringify(json, function (key, value) {
      if (typeof (json[key]) !== "string") {
        return value;
      }
    });
    print(obj);
    // 对象数组
    json = [ "obj_str", -0.5, 7, "0", true ];
    // 在数组中，未被转换的值将被替换为null值
    obj = JSON.stringify(json, function (key, value) {
      if (typeof value !== "number") {
        return value;
      }
    });
    var br = document.createElement("br");
    arr[0].appendChild(br);
    for (var i = 0; i < obj.length; i++) {
      arr[0].append(obj[i]);
    }
    function print(obj) {
      var br = document.createElement("br");
      arr[0].appendChild(br);
      for ( var key in obj) {
        if (obj.hasOwnProperty(key)) {
          arr[0].append(obj[key]);
        }
      }
    }
  </script>
</body>
</html>